package com.cloud.api.domain.stats;

import com.cloud.api.validgroup.ValidateGroupSelectVin;
import com.cloud.api.validgroup.ValidateGroupUpdate;
import com.cloud.mybatis.domain.PageModelNew;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;

@Data
@Schema(description = "查询报文")
public class QueryRecord extends PageModelNew {

    @Schema(description = "vin")
    @NotEmpty(message = "{validation.Information.vin}",groups = {ValidateGroupUpdate.class, ValidateGroupSelectVin.class})
    private String vin;

    @Schema(description = "报文类型")
    @NotEmpty(message = "{validation.record.type}",groups = ValidateGroupSelectVin.class)
    private String recordType;

    @Schema(description = "采集开始时间")
    @NotNull(message = "{validation.track.startTime}",groups = {ValidateGroupUpdate.class,ValidateGroupSelectVin.class})
    private LocalDateTime startTime;

    @Schema(description = "采集结束时间")
    @NotNull(message = "{validation.track.endTime}",groups = ValidateGroupSelectVin.class)
    private LocalDateTime endTime;

    @Schema(description = "doris映射名称",hidden = true)
    private String dataSource;

    @Schema(description = "数据权限",hidden = true)
    private Integer dataScope;

    @Schema(description = "部门id",hidden = true)
    private List<String> deptIds;

}
